😸React Router v6 在建立的 Router 的方式有一點不一樣,這次任務將帶大家來練習寫寫看!
const router = createBrowserRouter([
{
path: "/",
element: <div>Hello world!</div>,
},
]);
RouterProvider
function Nav() {
return (
<div>
<RouterProvider router={router}></RouterProvider>
</div>
);
}
export default Nav;
這邊會使用 DAY23 所練習的程式碼來改寫
routes
,會以陣列的形式放置其內容,一個{..}
代表一個項目path
:React 要生成的 URLelement
:React 要渲染的元件或元素errorElement
:當發生不存在的頁面時,要渲染的元件或元素children
:設定後代表為子路由,他一樣會有 path
、element
等屬性routes
建立完成後,把 routes 傳入 createBrowserRouter()
方法中<RouterProvider router={router}></RouterProvider>
方式渲染// Nav.js
import * as React from "react";
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import HomePage from "./HomePage";
import ProductPage from "./ProductPage";
const routes = [
{
path: "/",
element: <HomePage />,
errorElement: <h1>此頁面不存在R!</h1>
},
{
path: "/productList",
element: <ProductPage />,
children: [
{
path: "products/:productId"
}
]
}
// 繼續建立其他路由
];
const router = createBrowserRouter(routes);
function Nav() {
return (
<div>
<RouterProvider router={router}></RouterProvider>
</div>
);
}
export default Nav;
感覺更好懂了?對吧?…下個任務見!